<?php

/**
 * Istruzioni per il backend:
 * Le query verranno strutturate in base ai dati mandati in POST
 * CATEGORIE: per richiedere la categoria di eventi con id=1 appartenente
 * alla macrocategoria con id=2 è necessarion mandare
 *      pc_2_1=1
 * per richiedere una serie di categorie di eventi ripetere l'operazione
 * precedente con i differenti identificativi necessari
 */
require_once 'inc.utils.php';
require_once 'class.EvtFactory.php';

$SPOST = $_REQUEST;
$t = new EvtFactory();
//Signori e signore, iniziano le danze
/*
 * 1: FILTRO PER TIPOLOGIE E CATEGORIE -------------------------------------
 * NOTA sulla sintassi utilizzata:
 * essendo che esistono delle famiglie di categorie, ogni categoria
 * è indicata nel post da
 *          pc_$idCat=1
 * dove $idCat è la famiglia della categoria a cui appartiene l'evento.
 * NOTA: Un evento può comparire in più categorie.
 * Per sicurezza viene in parte mantenuta tra i commenti del codice la
 * possibilità di richiedere tramite post l'id della famiglia associata, con
 * la richiesta
 *          pc_$idFam_$idCat=1
 * dove $idFam va sostituito con l'id della famiglia della categoria e
 * $idCat va sostituito con l'id della tipologia stessa.
 */
$typesAndCategories = $t->getCheckTypesAndCategories(); //tutti a zero
$newTEC = null;
foreach ($typesAndCategories as $idfam => $typeNcat) {
    foreach ($typeNcat as $idcat => $cat) {
        //if(is_null($SPOST['pc_'.$idfam.'_'.$idcat]))
        if (!is_null($SPOST['pc_' . $idcat]))
            $newTEC[$idfam][$idcat] = $SPOST['pc_' . $idcat];
    }
}
if (isset($SPOST['data'])) {
    $date['data'] = $SPOST['data'];
    $date['orainizio'] = $SPOST['orainizio'];
    $date['orafine'] = $SPOST['orafine'];
} else{
    $date=null;
}


$ret = $t->getFilteredEventIds($newTEC, $date, $SPOST['nome']);
if (isset($ret))
    jsonEncodeArray($ret);

//$typesAndCategories questo è l'array associativo contenente 1 solo se la categoria (con annessa famiglia) è presente nella richiesta del post
//
//$t->printPoi($typesAndCategories);
?>